def check_rule(schematic):
    """检查电源网络的规则
    
    规则要求：
    1. VDD和GND网络必须存在
    2. 电源网络必须连接至少两个引脚
    3. 电源网络的类型必须是"power"
    4. VDD电压必须大于0V
    """
    violations = []
    
    # 检查所有的网络
    for net in schematic.nets:
        # 如果是电源网络（通过名称判断）
        if net.name.startswith(('VDD', 'VSS', 'GND')):
            # 检查是否有连接的引脚
            if not net.connected_pins:
                violation = {
                    'message': f'电源网络 {net.name} 没有连接任何引脚',
                    'severity': 'error',
                    'net': net
                }
                violations.append(violation)
            
            # 检查连接的组件类型
            for pin in net.connected_pins:
                if pin.type not in ('power', 'ground'):
                    violation = {
                        'message': f'电源网络 {net.name} 连接了非电源类型的引脚 {pin.name}',
                        'severity': 'warning',
                        'net': net
                    }
                    violations.append(violation)
    
    return violations 